Skip to content

Conversation

@antonis
Copy link
Contributor

@antonis antonis commented Jan 23, 2026

📢 Type of change

  • Bugfix
  • New feature
  • Enhancement
  • Refactoring

📜 Description

Implements support for adding custom attributes to user interaction spans via the sentry-span-attributes prop. This allows users to add contextual metadata to touch events without manually implementing onPress handlers.

Docs PR: getsentry/sentry-docs#16134

💡 Motivation and Context

Fixes #5511

💚 How did you test it?

Manual with the sample app, Unit tests

Screenshot 2026-01-23 at 10 30 08

📝 Checklist

  • I added tests to verify changes
  • No new PII added or SDK only sends newly added PII if sendDefaultPII is enabled
  • I updated the docs if needed.
  • I updated the wizard if needed.
  • All tests passing
  • No breaking changes

🔮 Next steps

@antonis
Copy link
Contributor Author

antonis commented Jan 23, 2026

@sentry review

@github-actions
Copy link
Contributor

github-actions bot commented Jan 23, 2026

Semver Impact of This PR

None (no version bump detected)

📋 Changelog Preview

This is how your changes will appear in the changelog.
Entries from this PR are highlighted with a left border (blockquote style).


  • feat(tracing): Add sentry-span-attributes prop for custom span attributes by antonis in #5569
  • chore(deps): bump actions/checkout from 6.0.1 to 6.0.2 by dependabot in #5576
  • chore(deps): bump github/codeql-action from 4.31.10 to 4.31.11 by dependabot in #5573
  • chore(deps): bump getsentry/craft from 2.19.0 to 2.20.0 by dependabot in #5575
  • chore(deps): bump getsentry/craft/.github/workflows/changelog-preview.yml from 2.19.0 to 2.20.0 by dependabot in #5574
  • ci(release): Fix changelog-preview permissions by BYK in #5571

🤖 This preview updates automatically when you update the PR.

@github-actions
Copy link
Contributor

github-actions bot commented Jan 23, 2026

Messages
📖 Do not forget to update Sentry-docs with your feature once the pull request gets approved.

Generated by 🚫 dangerJS against eb3930b

@antonis antonis added the ready-to-merge Triggers the full CI test suite label Jan 23, 2026
@antonis antonis marked this pull request as ready for review January 23, 2026 10:02
@github-actions
Copy link
Contributor

github-actions bot commented Jan 23, 2026

Android (legacy) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 421.15 ms 440.83 ms 19.69 ms
Size 43.75 MiB 48.40 MiB 4.64 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
136effd+dirty 398.57 ms 494.91 ms 96.34 ms
d916aa3 425.37 ms 427.02 ms 1.65 ms
5691430+dirty 433.98 ms 478.49 ms 44.51 ms
4604da9+dirty 366.44 ms 398.10 ms 31.66 ms
b80b14f+dirty 505.06 ms 534.32 ms 29.26 ms
8e653ac+dirty 360.28 ms 372.04 ms 11.76 ms
a2bb688+dirty 409.65 ms 410.45 ms 0.80 ms
7480abe+dirty 411.60 ms 405.81 ms -5.78 ms
9a81842+dirty 412.23 ms 416.56 ms 4.33 ms
ec14be7+dirty 403.50 ms 411.46 ms 7.96 ms

App size

Revision Plain With Sentry Diff
136effd+dirty 43.75 MiB 47.99 MiB 4.23 MiB
d916aa3 17.75 MiB 20.15 MiB 2.41 MiB
5691430+dirty 43.75 MiB 48.04 MiB 4.29 MiB
4604da9+dirty 17.75 MiB 19.74 MiB 2.00 MiB
b80b14f+dirty 43.75 MiB 48.04 MiB 4.29 MiB
8e653ac+dirty 17.75 MiB 19.75 MiB 2.00 MiB
a2bb688+dirty 17.75 MiB 19.70 MiB 1.95 MiB
7480abe+dirty 17.75 MiB 19.68 MiB 1.94 MiB
9a81842+dirty 43.75 MiB 48.08 MiB 4.33 MiB
ec14be7+dirty 17.75 MiB 19.69 MiB 1.94 MiB

Previous results on branch: antonis/sentry-span-attributes

Startup times

Revision Plain With Sentry Diff
dbd5e5b+dirty 413.64 ms 435.06 ms 21.42 ms
6ffde98+dirty 404.65 ms 437.48 ms 32.83 ms
6faf18d+dirty 461.10 ms 484.22 ms 23.12 ms

App size

Revision Plain With Sentry Diff
dbd5e5b+dirty 43.75 MiB 48.40 MiB 4.64 MiB
6ffde98+dirty 43.75 MiB 48.40 MiB 4.64 MiB
6faf18d+dirty 43.75 MiB 48.40 MiB 4.64 MiB

@github-actions
Copy link
Contributor

github-actions bot commented Jan 23, 2026

Android (new) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 368.36 ms 395.21 ms 26.85 ms
Size 43.94 MiB 49.22 MiB 5.29 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
136effd+dirty 451.30 ms 450.87 ms -0.43 ms
d751a5d+dirty 341.61 ms 403.06 ms 61.45 ms
5691430+dirty 376.70 ms 401.58 ms 24.88 ms
1226664+dirty 377.65 ms 453.94 ms 76.29 ms
b80b14f+dirty 320.33 ms 376.06 ms 55.73 ms
785ffb1+dirty 380.65 ms 451.83 ms 71.18 ms
8e653ac+dirty 304.49 ms 308.84 ms 4.35 ms
21c9e75+dirty 356.73 ms 381.06 ms 24.33 ms
161947d+dirty 349.27 ms 435.09 ms 85.82 ms
d1fd647+dirty 374.46 ms 409.51 ms 35.05 ms

App size

Revision Plain With Sentry Diff
136effd+dirty 43.94 MiB 48.81 MiB 4.88 MiB
d751a5d+dirty 7.15 MiB 8.41 MiB 1.26 MiB
5691430+dirty 43.94 MiB 48.87 MiB 4.93 MiB
1226664+dirty 7.15 MiB 8.46 MiB 1.30 MiB
b80b14f+dirty 43.94 MiB 48.87 MiB 4.93 MiB
785ffb1+dirty 7.15 MiB 8.42 MiB 1.27 MiB
8e653ac+dirty 7.15 MiB 8.46 MiB 1.31 MiB
21c9e75+dirty 7.15 MiB 8.42 MiB 1.27 MiB
161947d+dirty 7.15 MiB 8.43 MiB 1.28 MiB
d1fd647+dirty 7.15 MiB 8.43 MiB 1.28 MiB

Previous results on branch: antonis/sentry-span-attributes

Startup times

Revision Plain With Sentry Diff
dbd5e5b+dirty 378.70 ms 407.72 ms 29.02 ms
6ffde98+dirty 398.94 ms 422.37 ms 23.43 ms
6faf18d+dirty 412.37 ms 438.23 ms 25.87 ms

App size

Revision Plain With Sentry Diff
dbd5e5b+dirty 43.94 MiB 49.22 MiB 5.29 MiB
6ffde98+dirty 43.94 MiB 49.22 MiB 5.29 MiB
6faf18d+dirty 43.94 MiB 49.22 MiB 5.29 MiB

@github-actions
Copy link
Contributor

github-actions bot commented Jan 23, 2026

iOS (new) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 1214.09 ms 1220.89 ms 6.80 ms
Size 3.38 MiB 4.60 MiB 1.22 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
df1f7df+dirty 1217.00 ms 1213.27 ms -3.73 ms
c771b48+dirty 1189.46 ms 1191.15 ms 1.69 ms
459a438+dirty 1218.39 ms 1226.14 ms 7.75 ms
55b77fc+dirty 1213.08 ms 1218.19 ms 5.11 ms
60cd796+dirty 1206.08 ms 1213.36 ms 7.28 ms
69602ce+dirty 1230.59 ms 1230.84 ms 0.24 ms
fdbea8b+dirty 1196.19 ms 1212.09 ms 15.90 ms
294387d+dirty 1199.23 ms 1204.16 ms 4.93 ms
3099014+dirty 1234.04 ms 1243.22 ms 9.18 ms
fa7bb7e+dirty 1226.27 ms 1241.88 ms 15.61 ms

App size

Revision Plain With Sentry Diff
df1f7df+dirty 3.44 MiB 4.59 MiB 1.15 MiB
c771b48+dirty 3.41 MiB 4.58 MiB 1.17 MiB
459a438+dirty 3.19 MiB 4.55 MiB 1.36 MiB
55b77fc+dirty 3.41 MiB 4.58 MiB 1.17 MiB
60cd796+dirty 3.44 MiB 4.67 MiB 1.23 MiB
69602ce+dirty 3.19 MiB 4.48 MiB 1.29 MiB
fdbea8b+dirty 3.41 MiB 4.59 MiB 1.18 MiB
294387d+dirty 3.41 MiB 4.59 MiB 1.18 MiB
3099014+dirty 3.19 MiB 4.55 MiB 1.36 MiB
fa7bb7e+dirty 3.19 MiB 4.58 MiB 1.39 MiB

Previous results on branch: antonis/sentry-span-attributes

Startup times

Revision Plain With Sentry Diff
6ffde98+dirty 1224.94 ms 1225.00 ms 0.06 ms
6faf18d+dirty 1201.81 ms 1200.67 ms -1.15 ms
dbd5e5b+dirty 1214.06 ms 1210.98 ms -3.08 ms

App size

Revision Plain With Sentry Diff
6ffde98+dirty 3.38 MiB 4.60 MiB 1.22 MiB
6faf18d+dirty 3.38 MiB 4.60 MiB 1.22 MiB
dbd5e5b+dirty 3.38 MiB 4.60 MiB 1.22 MiB

@github-actions
Copy link
Contributor

github-actions bot commented Jan 23, 2026

iOS (legacy) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 1206.04 ms 1204.81 ms -1.23 ms
Size 3.38 MiB 4.60 MiB 1.22 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
df1f7df+dirty 1219.21 ms 1224.28 ms 5.07 ms
c771b48+dirty 1224.02 ms 1219.72 ms -4.30 ms
459a438+dirty 1222.12 ms 1214.60 ms -7.53 ms
55b77fc+dirty 1223.71 ms 1224.12 ms 0.41 ms
60cd796+dirty 1204.87 ms 1202.71 ms -2.17 ms
69602ce+dirty 1235.65 ms 1230.82 ms -4.83 ms
fdbea8b+dirty 1210.38 ms 1211.96 ms 1.57 ms
294387d+dirty 1197.73 ms 1208.35 ms 10.61 ms
3099014+dirty 1226.75 ms 1236.56 ms 9.81 ms
fa7bb7e+dirty 1216.23 ms 1225.04 ms 8.81 ms

App size

Revision Plain With Sentry Diff
df1f7df+dirty 3.44 MiB 4.59 MiB 1.15 MiB
c771b48+dirty 3.41 MiB 4.58 MiB 1.17 MiB
459a438+dirty 2.63 MiB 3.98 MiB 1.35 MiB
55b77fc+dirty 3.41 MiB 4.58 MiB 1.17 MiB
60cd796+dirty 3.44 MiB 4.67 MiB 1.23 MiB
69602ce+dirty 2.63 MiB 3.91 MiB 1.28 MiB
fdbea8b+dirty 3.41 MiB 4.59 MiB 1.18 MiB
294387d+dirty 3.41 MiB 4.59 MiB 1.18 MiB
3099014+dirty 2.63 MiB 3.98 MiB 1.35 MiB
fa7bb7e+dirty 2.63 MiB 4.01 MiB 1.38 MiB

Previous results on branch: antonis/sentry-span-attributes

Startup times

Revision Plain With Sentry Diff
6ffde98+dirty 1215.40 ms 1216.90 ms 1.49 ms
6faf18d+dirty 1207.78 ms 1216.73 ms 8.95 ms
dbd5e5b+dirty 1207.29 ms 1206.31 ms -0.97 ms

App size

Revision Plain With Sentry Diff
6ffde98+dirty 3.38 MiB 4.60 MiB 1.22 MiB
6faf18d+dirty 3.38 MiB 4.60 MiB 1.22 MiB
dbd5e5b+dirty 3.38 MiB 4.60 MiB 1.22 MiB

@TLenahan
Copy link

This is amazing! Thank you @antonis!

antonis and others added 2 commits January 26, 2026 13:25
…test

The SpaceflightNewsScreen sample now includes a button with sentry-label,
which creates ui.action.touch transactions. These user interaction transactions
don't have time-to-display measurements (only navigation transactions do).

Updated the test to filter out ui.action.touch transactions before checking
for time-to-display measurements, allowing the test to correctly validate
navigation transactions while ignoring user interaction transactions.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@antonis antonis merged commit d9f44bb into main Jan 26, 2026
111 of 114 checks passed
@antonis antonis deleted the antonis/sentry-span-attributes branch January 26, 2026 16:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-merge Triggers the full CI test suite

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Pass span attributes as props to interaction elements

4 participants